In recent years, technical and functional requirements in in-vehicle control (function) are advanced and complicated. Functional safety (ISO26262) has been formulated in the automobile industry, and it is essential to deal with the functional safety also in in-vehicle control devices. Automotive safety integrity levels (ASIL) showing standards to be protected according to functions are set for the functional safety, and processing according to the ASIL is required for a function to be implemented (the ASIL are defined in five stages from quality management (QM) of a lowest safety level to the ASIL D of a highest safety level). For that reason, in recent years, since microcomputers need to correspond to not only the functions but also the ASIL, the number of processing to be executed further increases.
Under such circumstances, in order to deal with the continuously increasing number of processing, a microcomputer having a core (an execution unit of the processing) has been changed to a multicore microprocessor (having a plurality of cores), such that throughput of the microcomputer is improved and processing load is dispersed, and accordingly, the microcomputers gets high functionality.
However, since each core in the multicore microcomputer executes operation (processing) individually, when it is necessary to share information (data), the information (data) executed in each core needs to be put together in one core. In order to put the information together in the core, it is necessary to perform communication between the cores (hereinafter, inter-core communication). However, depending on away of use (control method) of the inter-core communication, throughput may be lower than that of a conventional single-core microcomputer.
For example, even when communication is to be performed in one core, in a case where another core is in processing, the communication may not be performed and processing may be delayed.
As a result, the delay of the processing in another core may lead to delay in whole processing, and the throughput may be lowered.
In addition, in order to satisfy the safety levels, it is necessary to ensure soundness of information (data) to be handled.
As described above, even when the multicore microcomputer satisfies the ASIL and the processing is distributed to a plurality of cores, the throughput may vary largely depending on how the inter-core communication is controlled. Therefore, how to implement the ASIL and the inter-core communication has been a major technical problem.